package com.zlx.mall.basic.web.service;

import org.springframework.core.ParameterizedTypeReference;
import org.springframework.http.RequestEntity;
import org.springframework.http.ResponseEntity;
import org.springframework.lang.Nullable;

/**
 * @author qingke
 **/
public interface IHttpService {

    <T, R> ResponseEntity<R> exchange(@Nullable String groupName, RequestEntity<T> requestEntity, Class<R> rClass);
    <T, R> ResponseEntity<R> exchange(@Nullable String groupName, RequestEntity<T> requestEntity, ParameterizedTypeReference<R> typeReference);
    <T, R> ResponseEntity<R> exchangeWithoutSave(@Nullable String groupName, RequestEntity<T> requestEntity, Class<R> rClass);
}
